<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
  <link rel="stylesheet" media="screen" type="text/css" href="./style.css" />
  <link rel="stylesheet" media="screen" type="text/css" href="./design.css" />
  <link rel="stylesheet" media="print" type="text/css" href="./print.css" />

  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<div class="dokuwiki export">
<div class="table sectionedit1"><table class="inline">
        <tr class="row0">
                <td class="col0 leftalign"> « <a href="geda-gnetlist_ug-netlist_backends.html" class="wikilink1" title="geda-gnetlist_ug-netlist_backends.html">Netlist backends</a>  </td><td class="col1 centeralign">  <strong><a href="geda-gnetlist_ug.html" class="wikilink1" title="geda-gnetlist_ug.html">gEDA gnetlist User Guide</a></strong>     </td><td class="col2 rightalign">  <a href="geda-gnetlist_ug-hierarchy.html" class="wikilink1" title="geda-gnetlist_ug-hierarchy.html">Hierarchy</a> » </td>
        </tr>
</table></div>
<!-- EDIT1 TABLE [1-133] -->
<h2 class="sectionedit2"><a name="basic_netlisting" id="basic_netlisting">Basic netlisting</a></h2>
<div class="level2">

<p>
For basic netlisting (such as for relatively simple PCB designs or simulations), there are some simple requirements for the schematics and symbols that you use.  These requirements are imposed by the gnetlist frontend, and apply no matter which netlist backend you use.  Some backends might have additional requirements not listed on this page.
</p>

<p>
<p><div class="notetip">Many of these requirements are related to the correct use of attributes. For a full list of standard attributes and their meanings, see the Master Attributes List.
</div></p>
</p>

</div>
<!-- EDIT2 SECTION "Basic netlisting" [135-724] -->
<h3 class="sectionedit3"><a name="schematics" id="schematics">Schematics</a></h3>
<div class="level3">

<p>
Schematics <strong>must</strong> contain only nets, buses, components and graphical elements.  A <em>component</em> in a schematic is an instance of a <em>symbol</em> from a <em>symbol library</em>.
</p>

<p>
Every component that you want to appear in a netlist <strong>must</strong> have a ”<code>refdes=</code>” attribute attached to it.  This should be an alphanumeric string beginning with a letter.  The “refdes” is used to identify the component in parts lists, on PCB layouts, and in simulator output.
</p>

<p>
If two components in the same circuit have the same “refdes”, then gnetlist will merge them (i.e. it will treat them as being the same component).  This behaviour enables <a href="geda-gnetlist_ug-slotting.html" class="wikilink1" title="geda-gnetlist_ug-slotting.html">slotting</a>. It also allows you to split complicated components with very many pins across several pages, by using different symbols for different sections of the component.
</p>

<p>
Nets can be named by attaching a ”<code>netname=</code>” attribute to a net segment.  All net segments attached to the segment with the attribute will then share the same name.  If two nets in the same circuit have the same “netname”, then gnetlist will treat them as being connected.  If two connected nets have different “netname” attributes, then gnetlist will merge all the nets with either of those names together.  If a net doesn&#039;t have a “netname”, gnetlist will automatically generate one.
</p>

<p>
<p><div class="noteimportant">gnetlist currently ignores buses and bus pins.  You can still use them in your schematic diagrams, but they will not be used for netlist generation.
</div></p>
</p>

</div>
<!-- EDIT3 SECTION "Schematics" [725-2207] -->
<h3 class="sectionedit4"><a name="symbols" id="symbols">Symbols</a></h3>
<div class="level3">

<p>
Symbols <strong>must</strong> contain only pins, attributes and <a href="geda-gschem_ug-graphics.html" class="wikilink1" title="geda-gschem_ug-graphics.html">graphical elements</a>.  Symbols should include an unattached ”<code>device=</code>” attribute.
</p>

<p>
All pins <strong>must</strong> have ”<code>pinnumber=</code>” and ”<code>pinlabel=</code>” attributes attached.  You should normally attach ”<code>pintype=</code>” and ”<code>pinseq=</code>” attributes as well.
</p>

<p>
Sometimes, you may want gnetlist to ignore a symbol entirely. For example, some people use symbols for non-electrical purposes such as title blocks, or for comment or note markers.  To do this, you may use the ”<code>graphical=1</code>” attribute.
</p>

<p>
There are additional requirements if you want to make use of gnetlist&#039;s <a href="geda-gnetlist_ug-hierarchy.html" class="wikilink1" title="geda-gnetlist_ug-hierarchy.html">hierarchy</a> or <a href="geda-gnetlist_ug-slotting.html" class="wikilink1" title="geda-gnetlist_ug-slotting.html">slotting</a> support.
</p>

</div>
<!-- EDIT4 SECTION "Symbols" [2208-3047] -->
<h3 class="sectionedit5"><a name="attribute_promotion" id="attribute_promotion">Attribute promotion</a></h3>
<div class="level3">

<p>
gnetlist supports <em>attribute promotion</em>.  When looking for a particular attribute from a component, it will check attributes attached to the symbol first, and then check unattached attributes in the component&#039;s underlying symbol.  This lets you provide default values for commonly-used attributes when designing a symbol, while still being able to override them while preparing the design.
</p>

</div>
<!-- EDIT5 SECTION "Attribute promotion" [3048-] --></div>
</body>
</html>
